Random¶
🖌 random
¶
random.choice()
¶
In [31]:
import random
fruits = ['pear','mango','banana','strawberry','kumquat']
selection = random.choice(fruits)
print(selection)
pear
random.randint()
¶
In [48]:
import random
print(random.randint(1, 10))
3
random.random()
¶
In [142]:
print(random.random())
0.5543172281869808
If you need a random float between 0 and 100, just scale the random number:
In [160]:
print(random.random() * 100)
55.191740700033634
random.sample()
¶
In [161]:
name = 'Tom Marvolo Riddle'
In [177]:
print(random.sample(name, 2))
['o', 'r']
In [187]:
print(random.sample(name, 10))
['m', ' ', 'R', 'o', 'l', 'o', 'T', 'd', 'o', 'i']
In [264]:
print(''.join(random.sample(name, len(name))))
mdiRoMrooveT d lal
🖌 Shuffle¶
random.sample
can be used to get a random sample from a collection.
If you sample all the items in the collection, you essentially get a shuffled version of the data.
In [265]:
import random
def shuffle(string):
"""
Use random.sample to get the letters in the string in a random order.
Then join the letters together with the empty string.
"""
shuffled_letters = random.sample(string, len(string))
return ''.join(shuffled_letters)
In [288]:
shuffle('12345')
Out[288]:
'24513'
In [303]:
shuffle('CS110')
Out[303]:
'011CS'
🖌 Random events at some frequency¶
apples.py
¶
🧑🏼🎨 Umm...¶
Write a program that takes a frequency (a number between 0 and 1) and a phrase as commandline arguments.
Randomly inject "umm" into a given sentence at the given frequency and print the result.
umm.py
¶
👨🏻🎨 Random¶
- 2-player guessing game
- Bit: fill world with random colors
- Bit: random walk to target
Key Ideas¶
random
choice
randint
random
sample
- Shuffling strings using
random.sample
- Random events at some frequency